/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package CONTROLADOR;

import MODELO.DAOEntidadCliente;
import MODELO.DAOEntidadDetalleVenta;
import MODELO.DAOEntidadProducto;
import MODELO.DAOEntidadTipoProducto;
import MODELO.DAOEntidadUsuario;
import MODELO.DAOEntidadVenta;
import MODELO.EntidadCliente;
import MODELO.EntidadDetalleVenta;
import MODELO.EntidadProducto;
import MODELO.EntidadUsuario;
import MODELO.EntidadVenta;
import VISTA.*;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.beans.PropertyVetoException;
import java.io.File;
import java.io.FileReader;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.Scanner;
import java.util.StringTokenizer;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDesktopPane;
import javax.swing.JInternalFrame;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.table.DefaultTableModel;

public class JControlador implements ActionListener, MouseListener {

    //Variable Globales
      private String idUsuario;
    //Vista
    private Frm_Login frm_Login = new Frm_Login();
    private Frm_Index_Usuario frm_Index_Usuario = new Frm_Index_Usuario();
    private IFrm_RegistrarCliente iFrm_RegistrarCliente = new IFrm_RegistrarCliente();
    private iFrm_Registro_Producto iFrm_Registro_Producto = new iFrm_Registro_Producto();
    private Ifrm_Realizar_Compra iFrm_Realizar_Compra = new Ifrm_Realizar_Compra();
    private iFrmBuscar_Cliente iFrmBuscar_Cliente=new iFrmBuscar_Cliente();
    private IFrm_Ver_Compra iFrm_Ver_Compra= new IFrm_Ver_Compra();
    
    DefaultTableModel tablemodel = new DefaultTableModel();
    String[] columNames = {"Cantidad", "Producto", "Precio", "Total"};
    Object[][] data = new Object[0][4];

    private void Logueo(){
        try {
            DAOEntidadUsuario miDAOEntidadUsuario=new DAOEntidadUsuario();
            EntidadUsuario miEntidadUsuario=new EntidadUsuario();
            
            miEntidadUsuario.setUser(frm_Login.txtnombre_usuario.getText());
            miEntidadUsuario.setPassword(frm_Login.txtcontraseña.getText());
            
            idUsuario= miDAOEntidadUsuario.loguear(miEntidadUsuario);
            if(idUsuario.equals("")){
                JOptionPane.showMessageDialog(null, "Usuario o Password incorrectos!!");
            } else {
//                this.frm_Index_Usuario.setAlwaysOnTop(true);
//                frm_Index_Usuario.setExtendedState(Frm_Index_Usuario.MAXIMIZED_BOTH);
                this.frm_Index_Usuario.setTitle("USUARIO - LIBRERIA");
                this.frm_Index_Usuario.setVisible(true);
                frm_Login.dispose();
            }
        } catch (Exception ex) {
            Logger.getLogger(JControlador.class.getName()).log(Level.SEVERE, null, ex);
        }
    }  
      
     
      
 
    public enum Accion {

        // {----------------------- Frm_Login.java
        ALogin__btnentrar,
        ALogin__btnsalir,
        ALogin__txtcontraseña,
        // {----------------------- Frm_Frm_Index_Usuario.java
        AbtnMenu_Cerrar_Sesion,
        AbtnMenu_Registrar_Cliente,
        AbtnMenu_Registro_Producto,
        AbtnMenu_Realizar_Compra,
        AbtnMenu_Buscar_Cliente,
        AbtnMenu_Ver_Compra,
        
        // {----------------------- IFrm_RegistrarCliente.java
        ARegistrar_Cliente_btnGuardar,
        
        
        // {----------------------- IFrm_Registro_Producto.java
        ARegistro_Producto_btnAgregar,
        
        // {----------------------- IFrm_Realizar_Compra.java
        ARealizar_Compra_btnVerificar,
        ARealizar_Compra_cboTipoProducto,
        ARealizar_Compra_btnAgregar,
        ARealizar_Compra_btnGuardar,
        ARealizar_Compra_cboProducto,
        
        // {----------------------- IFrm_Buscar_Cliente.java
        ABuscarCliente_btnBuscar,
    }

    public void iniciar() {

        try {
            UIManager.setLookAndFeel("javax.swing.plaf.nimbus.NimbusLookAndFeel");
            SwingUtilities.updateComponentTreeUI(frm_Login);
            SwingUtilities.updateComponentTreeUI(frm_Index_Usuario);
            SwingUtilities.updateComponentTreeUI(iFrm_RegistrarCliente);
            SwingUtilities.updateComponentTreeUI(iFrm_Registro_Producto);
            SwingUtilities.updateComponentTreeUI(iFrm_Realizar_Compra);
        } catch (Exception e) {
            System.out.println(e);
        }
        
        frm_Login.setTitle("Proyecto Veterinaria");
        frm_Login.getContentPane().setBackground(Color.getColor(""));
        frm_Login.setLocationRelativeTo(null);
        frm_Login.setVisible(true);
        
        /*Frm_Login.java*/
        //boton
        this.frm_Login.btnentrar.setActionCommand("ALogin__btnentrar");
        this.frm_Login.btnentrar.addActionListener(this);
        //boton
        this.frm_Login.btnsalir.setActionCommand("ALogin__btnsalir");
        this.frm_Login.btnsalir.addActionListener(this);
        //txt
        this.frm_Login.txtcontraseña.setActionCommand("ALogin__txtcontraseña");
        this.frm_Login.txtcontraseña.addActionListener(this);
        
        /*Frm_Index_Usuario.java*/
        //btnMenu
        this.frm_Index_Usuario.btnMenu_Cerrar_Sesion.setActionCommand("AbtnMenu_Cerrar_Sesion");
        this.frm_Index_Usuario.btnMenu_Cerrar_Sesion.addActionListener(this);
        //btnMenu
        this.frm_Index_Usuario.btnMenu_Registrar_Cliente.setActionCommand("AbtnMenu_Registrar_Cliente");
        this.frm_Index_Usuario.btnMenu_Registrar_Cliente.addActionListener(this);
        //btnMenu
        this.frm_Index_Usuario.btnMenu_Registro_Producto.setActionCommand("AbtnMenu_Registro_Producto");
        this.frm_Index_Usuario.btnMenu_Registro_Producto.addActionListener(this);
        //btnMenu
        this.frm_Index_Usuario.btnMenu_Realizar_Compra.setActionCommand("AbtnMenu_Realizar_Compra");
        this.frm_Index_Usuario.btnMenu_Realizar_Compra.addActionListener(this);
        //btn
        this.frm_Index_Usuario.btnMenu_Buscar_Cliente.setActionCommand("AbtnMenu_Buscar_Cliente");
        this.frm_Index_Usuario.btnMenu_Buscar_Cliente.addActionListener(this);
        //buton
        this.frm_Index_Usuario.btnMenu_Ver_Compra.setActionCommand("AbtnMenu_Ver_Compra");
        this.frm_Index_Usuario.btnMenu_Ver_Compra.addActionListener(this);
        
        
        /*IFrm_RegistrarCliente.java*/
        //btn
        this.iFrm_RegistrarCliente.btnGuardar.setActionCommand("ARegistrar_Cliente_btnGuardar");
        this.iFrm_RegistrarCliente.btnGuardar.addActionListener(this);
        
        /*IFrm_Registro_Producto.java*/
        this.iFrm_Registro_Producto.btnAgregar.setActionCommand("ARegistro_Producto_btnAgregar");
        this.iFrm_Registro_Producto.btnAgregar.addActionListener(this);
        
        /*IFrm_Realizar_Compra.java*/
        //btn
        this.iFrm_Realizar_Compra.btnVerificar.setActionCommand("ARealizar_Compra_btnVerificar");
        this.iFrm_Realizar_Compra.btnVerificar.addActionListener(this);
        //btn
        this.iFrm_Realizar_Compra.cboTipoProducto.setActionCommand("ARealizar_Compra_cboTipoProducto");
        this.iFrm_Realizar_Compra.cboTipoProducto.addActionListener(this);
        //boton
        this.iFrm_Realizar_Compra.btnAgregar.setActionCommand("ARealizar_Compra_btnAgregar");
        this.iFrm_Realizar_Compra.btnAgregar.addActionListener(this);
        //boton
        this.iFrm_Realizar_Compra.btnGuardar.setActionCommand("ARealizar_Compra_btnGuardar");
        this.iFrm_Realizar_Compra.btnGuardar.addActionListener(this);
        //boton
        this.iFrm_Realizar_Compra.cboProducto.setActionCommand("ARealizar_Compra_cboProducto");
        this.iFrm_Realizar_Compra.cboProducto.addActionListener(this);
               
        /*IFrm_Buscar_Cliente.java*/
        //btn
        this.iFrmBuscar_Cliente.btnBuscar.setActionCommand("ABuscarCliente_btnBuscar");
        this.iFrmBuscar_Cliente.btnBuscar.addActionListener(this);
        
        
    }

    private void verificarCliente() {
        try {
            String nombres = "";
            DAOEntidadCliente miDAOEntidadCliente = new DAOEntidadCliente();
            nombres = miDAOEntidadCliente.verificarCliente(iFrm_Realizar_Compra.txtNumDNi.getText());
            if (nombres.equals("")) {
                JOptionPane.showMessageDialog(null, "Cliente no registrado, regístrelo por favor x)");
                iFrm_Realizar_Compra.txtNombreApell.setText("");
            } else {
                iFrm_Realizar_Compra.txtNombreApell.setText(nombres);
            }
        } catch (Exception ex) {
            System.out.println(ex);
        }
        
    }
    @Override
    public void actionPerformed(ActionEvent e) {
        switch (JControlador.Accion.valueOf(e.getActionCommand())) {


            case ALogin__btnentrar:
                Logueo();
                break;
            case ALogin__txtcontraseña:
                Logueo();
                break;
            case ALogin__btnsalir:
                System.exit(0);
                break;
            case AbtnMenu_Cerrar_Sesion:
                frm_Login.setLocationRelativeTo(null);
                frm_Login.setTitle("Proyecto Maternidad - DIRESA");
                frm_Login.txtnombre_usuario.setText("");
                frm_Login.txtcontraseña.setText("");
                frm_Index_Usuario.dispose();
                frm_Login.setVisible(true);
                frm_Login.getContentPane().setBackground(Color.getColor(""));
                break;
            case AbtnMenu_Registrar_Cliente:
                frm_Index_Usuario.jDesktopPane1.add(iFrm_RegistrarCliente);
                iFrm_RegistrarCliente.setTitle("Registrar Cliente");
                iFrm_RegistrarCliente.show();
                break;
            case AbtnMenu_Buscar_Cliente:
                try {
                    DAOEntidadCliente miDAOEntidadCliente = new DAOEntidadCliente();

                    frm_Index_Usuario.jDesktopPane1.add(iFrmBuscar_Cliente);
                    iFrmBuscar_Cliente.setTitle("Búsqueda de Cliente");
                    iFrmBuscar_Cliente.tableCliente.setModel(miDAOEntidadCliente.getListaAllCliente());
                    iFrmBuscar_Cliente.show();
                } catch (Exception ex) {
                    JOptionPane.showMessageDialog(null, "Error al agregar cliente :( ");
                    System.out.println(ex);
                }


                break;
            case AbtnMenu_Ver_Compra:
                try {
                    DAOEntidadVenta miDAOEntidadVenta = new DAOEntidadVenta();
                    DAOEntidadCliente miDAOEntidadCliente= new DAOEntidadCliente();
                    DAOEntidadUsuario miDAOEntidadUsuario = new DAOEntidadUsuario();
                    frm_Index_Usuario.jDesktopPane1.add(iFrm_Ver_Compra);
                    iFrm_Ver_Compra.setTitle("Ver Ventas");
                    iFrm_Ver_Compra.tableVenta.setModel(miDAOEntidadVenta.getTablaVer_Ventas());
                    
                    for(int i=0; i<iFrm_Ver_Compra.tableVenta.getRowCount(); i++){
                        String idclient=iFrm_Ver_Compra.tableVenta.getValueAt(i, 1).toString();
                        String iduser=iFrm_Ver_Compra.tableVenta.getValueAt(i, 2).toString();
                        
                        miDAOEntidadCliente.conectar();
                        miDAOEntidadUsuario.conectar();
                        
                        iFrm_Ver_Compra.tableVenta.setValueAt(miDAOEntidadCliente.getNombreCliente(idclient), i, 1);
                        iFrm_Ver_Compra.tableVenta.setValueAt(miDAOEntidadUsuario.getNombreUser(iduser), i, 2);
                        
                    }
                    iFrm_Ver_Compra.show();
                } catch (Exception ex) {
                    JOptionPane.showMessageDialog(null, "Error :( ");
                    System.out.println(ex);
                }
                break;
                
            case ARegistrar_Cliente_btnGuardar:
                EntidadCliente miEntidadCliente=new EntidadCliente();
                miEntidadCliente.setDni(iFrm_RegistrarCliente.txtDni.getText().trim());
                miEntidadCliente.setNombre(iFrm_RegistrarCliente.txtNombre.getText().toUpperCase().trim());
                miEntidadCliente.setApellidoPaterno(iFrm_RegistrarCliente.txtApellidoPaterno.getText().toUpperCase().trim());
                miEntidadCliente.setApellidoMaterno(iFrm_RegistrarCliente.txtApellidoMaterno.getText().toUpperCase().trim());
                miEntidadCliente.setDireccion(iFrm_RegistrarCliente.txtDireccion.getText().toUpperCase().trim());
                miEntidadCliente.setEmail(iFrm_RegistrarCliente.txtEmail.getText().trim());
                switch(iFrm_RegistrarCliente.cboSexo.getSelectedIndex()){
                    case 0:
                        JOptionPane.showMessageDialog(null, "Seleccionar el sexo");
                        break;
                    case 1:
                        miEntidadCliente.setSexo("1");
                        break;
                    case 2:
                        miEntidadCliente.setSexo("0");
                        break;
                        
                }
                try {
                    DAOEntidadCliente miDAOEntidadCliente = new DAOEntidadCliente();
                    miDAOEntidadCliente.insertar(miEntidadCliente);
                    JOptionPane.showMessageDialog(null, "Cliente agregado con éxito :) ");
                    
                    iFrm_RegistrarCliente.txtApellidoMaterno.setText("");
                    iFrm_RegistrarCliente.txtApellidoPaterno.setText("");
                    iFrm_RegistrarCliente.txtDireccion.setText("");
                    iFrm_RegistrarCliente.txtDni.setText("");
                    iFrm_RegistrarCliente.txtEmail.setText("");
                    iFrm_RegistrarCliente.txtNombre.setText("");
                    
                } catch (Exception ex) {
                    JOptionPane.showMessageDialog(null, "Error al agregar cliente :( ");
                    System.out.println(ex);
                }

                break;
                
            case AbtnMenu_Registro_Producto:
                try {
                    DAOEntidadTipoProducto miDAOEntidadTipoProducto = new DAOEntidadTipoProducto();
                    frm_Index_Usuario.jDesktopPane1.add(iFrm_Registro_Producto);
                    iFrm_Registro_Producto.setTitle("Registrar Producto");
                    iFrm_Registro_Producto.cboTipos.setModel(miDAOEntidadTipoProducto.getListaTipoProducto());
                    iFrm_Registro_Producto.show();
                } catch (Exception ex) {
                    System.out.println(ex);
                }
                break;
            case ARegistro_Producto_btnAgregar:
                try {
                    DAOEntidadTipoProducto miDAOEntidadTipoProducto = new DAOEntidadTipoProducto();
                    DAOEntidadProducto miDAOEntidadProducto = new DAOEntidadProducto();
                    EntidadProducto miEntidadProducto = new EntidadProducto();
                    miEntidadProducto.setNombre(iFrm_Registro_Producto.txtNombre.getText().toUpperCase().trim());
                    miEntidadProducto.setPrecio(iFrm_Registro_Producto.txtPrecio.getText().trim());
                    miEntidadProducto.setFK_tipoProducto(miDAOEntidadTipoProducto.getIdTipoProducto(iFrm_Registro_Producto.cboTipos.getSelectedItem().toString()));
                    
                    if(miDAOEntidadProducto.insertar(miEntidadProducto)==1){
                        JOptionPane.showMessageDialog(null, "Producto agregado con éxito :) ");
                    }else{
                        JOptionPane.showMessageDialog(null, "Error al agregar producto :( ");
                    }

                } catch (Exception ex) {
                    System.out.println(ex);
                }
                break;
            case AbtnMenu_Realizar_Compra:
                try {
                    DAOEntidadTipoProducto miDAOEntidadTipoProducto = new DAOEntidadTipoProducto();
                    DAOEntidadProducto miDAOEntidadProducto=new DAOEntidadProducto();
                    frm_Index_Usuario.jDesktopPane1.add(iFrm_Realizar_Compra);
                    iFrm_Realizar_Compra.setTitle("Realizar Compra");
                    iFrm_Realizar_Compra.cboTipoProducto.setModel(miDAOEntidadTipoProducto.getListaTipoProducto());
                    miDAOEntidadTipoProducto.conectar();
                    iFrm_Realizar_Compra.cboProducto.setModel(miDAOEntidadProducto.getListaProducto(miDAOEntidadTipoProducto.getIdTipoProducto(iFrm_Realizar_Compra.cboTipoProducto.getSelectedItem().toString())));
                    miDAOEntidadProducto.conectar();
                    iFrm_Realizar_Compra.txtPrecio.setText(miDAOEntidadProducto.getObtenerPrecioProduct(iFrm_Realizar_Compra.cboProducto.getSelectedItem().toString()));

                    GregorianCalendar calendario = new GregorianCalendar();
                    SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd");
                    String strFecha = dateformat.format(calendario.getTime());
                    iFrm_Realizar_Compra.txtFecha.setText(strFecha);

                    iFrm_Realizar_Compra.show();
                } catch (Exception ex) {
                    System.out.println(ex);
                }
                break;
                
            case ARealizar_Compra_btnVerificar:
                verificarCliente();
                break;
            case ARealizar_Compra_cboTipoProducto:
                try{
                    DAOEntidadTipoProducto miDAOEntidadTipoProducto = new DAOEntidadTipoProducto();
                    DAOEntidadProducto miDAOEntidadProducto=new DAOEntidadProducto();
                    
                    iFrm_Realizar_Compra.cboProducto.setModel(miDAOEntidadProducto.getListaProducto(miDAOEntidadTipoProducto.getIdTipoProducto(iFrm_Realizar_Compra.cboTipoProducto.getSelectedItem().toString())));
                    miDAOEntidadProducto.conectar();
                    iFrm_Realizar_Compra.txtPrecio.setText(miDAOEntidadProducto.getObtenerPrecioProduct(iFrm_Realizar_Compra.cboProducto.getSelectedItem().toString()));
                } catch (Exception ex) {
                    System.out.println(ex);
                }
                break;
            case ARealizar_Compra_cboProducto:
                try{
                    DAOEntidadProducto miDAOEntidadProducto=new DAOEntidadProducto();
                    
                    iFrm_Realizar_Compra.txtPrecio.setText(miDAOEntidadProducto.getObtenerPrecioProduct(iFrm_Realizar_Compra.cboProducto.getSelectedItem().toString()));
                } catch (Exception ex) {
                    System.out.println(ex);
                }
                break;
            case ARealizar_Compra_btnAgregar:
                if (iFrm_Realizar_Compra.txtCantidad.getText().equals("")) {
                    JOptionPane.showMessageDialog(null, "Ingrese una cantidad por favor! x)");
                } else {
                    data = new Object[iFrm_Realizar_Compra.tableVenta.getModel().getRowCount()+1][4];
                    String nombreProduct = iFrm_Realizar_Compra.cboProducto.getSelectedItem().toString();
                    int cantidad = Integer.parseInt(iFrm_Realizar_Compra.txtCantidad.getText().trim());
                    float precio = Float.parseFloat(iFrm_Realizar_Compra.txtPrecio.getText().trim());
                    float total=cantidad*precio;
//                    .
                    if (iFrm_Realizar_Compra.tableVenta.getModel().getRowCount() == 0) {
                        data[iFrm_Realizar_Compra.tableVenta.getRowCount()][0] = "" + cantidad + "";
                        data[iFrm_Realizar_Compra.tableVenta.getRowCount()][1] = iFrm_Realizar_Compra.cboProducto.getSelectedItem().toString();
                        data[iFrm_Realizar_Compra.tableVenta.getRowCount()][2] = iFrm_Realizar_Compra.txtPrecio.getText().trim();
                        data[iFrm_Realizar_Compra.tableVenta.getRowCount()][3] = "" + total + "";
                    } else {
                            for(int i=0; i<iFrm_Realizar_Compra.tableVenta.getRowCount(); i++){
                                data[i][0]=iFrm_Realizar_Compra.tableVenta.getValueAt(i, 0);
                                data[i][1]=iFrm_Realizar_Compra.tableVenta.getValueAt(i, 1);
                                data[i][2]=iFrm_Realizar_Compra.tableVenta.getValueAt(i, 2);
                                data[i][3]=iFrm_Realizar_Compra.tableVenta.getValueAt(i, 3);
                                
                            }
                        data[iFrm_Realizar_Compra.tableVenta.getRowCount()][0] = "" + cantidad + "";
                        data[iFrm_Realizar_Compra.tableVenta.getRowCount()][1] = iFrm_Realizar_Compra.cboProducto.getSelectedItem().toString();
                        data[iFrm_Realizar_Compra.tableVenta.getRowCount()][2] = iFrm_Realizar_Compra.txtPrecio.getText().trim();
                        data[iFrm_Realizar_Compra.tableVenta.getRowCount()][3] = "" + total + "";
                    }
                    

                    tablemodel.setDataVector(data, columNames);
                    iFrm_Realizar_Compra.tableVenta.setModel(tablemodel);
                    float tot=0;
                    for(int j=0; j<iFrm_Realizar_Compra.tableVenta.getRowCount(); j++){
                        tot=tot+Float.parseFloat(iFrm_Realizar_Compra.tableVenta.getValueAt(j, 3).toString());
                        
                    }
                    iFrm_Realizar_Compra.txtCantidad.setText("");
                    iFrm_Realizar_Compra.txtTotal.setText(""+tot);
                }
                break;
            case ARealizar_Compra_btnGuardar:
                verificarCliente();
                if (iFrm_Realizar_Compra.txtNombreApell.getText().equals("")) {
                    JOptionPane.showMessageDialog(null, "Cliente NO registrado x( ");
                } else if (iFrm_Realizar_Compra.tableVenta.getRowCount() == 0 || iFrm_Realizar_Compra.txtNumDNi.getText().equals("")
                        || iFrm_Realizar_Compra.txtNombreApell.getText().equals("") || iFrm_Realizar_Compra.txtFecha.getText().equals("")) {
                    JOptionPane.showMessageDialog(null, "Error, faltan ingresar datos necesarios x( ");
                } else {
                    try {
                        String Datos[][] = new String[iFrm_Realizar_Compra.tableVenta.getRowCount()][4];
                        EntidadVenta miEntidadVenta = new EntidadVenta();
                        EntidadDetalleVenta miEntidadDetalleVenta = new EntidadDetalleVenta();
                        DAOEntidadVenta miDAOEntidadVenta = new DAOEntidadVenta();
                        DAOEntidadCliente miDAOEntidadCliente = new DAOEntidadCliente();
                        DAOEntidadDetalleVenta miDAOEntidadDetalleVenta = new DAOEntidadDetalleVenta();
                        DAOEntidadProducto miDAOEntidadProducto = new DAOEntidadProducto();


                        miEntidadVenta.setFKidUsuario(idUsuario);
                        miEntidadVenta.setFecha(iFrm_Realizar_Compra.txtFecha.getText().trim());
                        miEntidadVenta.setFKidCliente(miDAOEntidadCliente.getObtenerIdCliente(iFrm_Realizar_Compra.txtNumDNi.getText().trim()));
                        miDAOEntidadVenta.insertar(miEntidadVenta);

                        miEntidadDetalleVenta.setFK_idVenta("" + miDAOEntidadDetalleVenta.getObtenerMaxIdVenta());

                        for (int i = 0; i < iFrm_Realizar_Compra.tableVenta.getRowCount(); i++) {
                            Datos[i][0] = iFrm_Realizar_Compra.tableVenta.getValueAt(i, 0).toString();
                            Datos[i][1] = iFrm_Realizar_Compra.tableVenta.getValueAt(i, 1).toString();
                        }

                        for (int i = 0; i < iFrm_Realizar_Compra.tableVenta.getRowCount(); i++) {
                            miDAOEntidadProducto.conectar();
                            miEntidadDetalleVenta.setCantidad(Integer.parseInt(Datos[i][0]));
                            miEntidadDetalleVenta.setFK_idProducto(miDAOEntidadProducto.getObtenerIdProducto(Datos[i][1]));

                            miDAOEntidadDetalleVenta.conectar();
                            miDAOEntidadDetalleVenta.insertar(miEntidadDetalleVenta);
                        }
                        JOptionPane.showMessageDialog(null, "Venta Registrada, muchas gracias :) ");

                    } catch (Exception ex) {
                        System.out.println(ex);
                    }
                }
                break;
                
            case ABuscarCliente_btnBuscar:
                if (iFrmBuscar_Cliente.txtNumDni.getText().equals("")) {
                    JOptionPane.showMessageDialog(null, "Ingrese un Numero de DNI :S ");
                } else {
                    try {
                        DAOEntidadCliente miDAOEntidadCliente=new DAOEntidadCliente();
                        iFrmBuscar_Cliente.tableCliente.setModel(miDAOEntidadCliente.getDatosCliente(Integer.parseInt(iFrmBuscar_Cliente.txtNumDni.getText().toString().trim())));
                    } catch (Exception ex) {
                        System.out.println(ex);
                    }
                }
                break;


        }
    }

    @Override
    public void mouseClicked(MouseEvent e) {
    }

    @Override
    public void mousePressed(MouseEvent e) {
    }

    @Override
    public void mouseReleased(MouseEvent e) {
    }

    @Override
    public void mouseEntered(MouseEvent e) {
    }

    @Override
    public void mouseExited(MouseEvent e) {
    }
}
